<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class Cir_model extends CI_Model
{
    /* ------------------------ INSERTAR EN LA BASE DE DATOS----------------------- */

    function insert($row = array())
    {
        $this->db->insert('cirugias', $row);
        return $this->db->insert_id();
    }

    /* ------------------------ BUSCAR POR ID-------------------------------------- */

    function find($id_cirugia)
    {
        $query = sprintf("select * from cirugias where id_cirugia=%s", $id_cirugia);
        $row = $this->db->query($query);
        return $row;
    }

    /* ------------------------BUSCA EN CIRUGIAS Y EN TODOS LOS CAMPOS RELACIONADOS A ESA TABLA-------------------------------------- */

    function find_cirugia_innerjoin($id_cirugia)
    {
        $query = sprintf("
                        select 
                        c.id_cirugia,
                        c_ojo,
                        c_acepta,
                        c_fecha_estimada,
                        c_fecha_cirugia,
                        c_estado,
                        c_otra_cirugia,
                        c_observacion,
                        m.id_medico,
                        m_nombre,
                        pa.id_paciente,
                        p_nombre,
                        p_apellido,
                        p_historia_clinica,
                        p_numero_afiliado,
                        p_historia_clinica,
                        os.id_obra_social,
                        os_nombre,
                        pr_fecha_entrega,
                        pr_obra_social,
                        pr_coseguro,
                        pr_total,
                        lio_elegido,
                        lio_opcion_1,
                        lio_opcion_2,
                        lio_opcion_3,
                        lio_fecha_pedido,
                        lio_fecha_recibido,
                        lio_graduacion,
                        id_tecnica,
                        ea_iol_master_p,
                        ea_iol_master_v,
                        ea_ecometria_p,
                        ea_ecometria_v,
                        ea_microscopia_p,
                        ea_microscopia_v,
                        ea_oct_p,
                        ea_oct_v,
                        ea_pentacam_p,
                        ea_pentacam_v,
                        ea_rfg_p,
                        ea_rfg_v,
                        ea_electro_p,
                        ea_electro_v,
                        ea_analisis_p,
                        ea_analisis_v,
                        ea_otros_p,
                        ea_otros_v,
                        ea_iol_master_ob,
                        ea_ecometria_ob,
                        ea_microscopia_ob,
                        ea_oct_ob,
                        ea_pentacam_ob,
                        ea_rfg_ob,
                        ea_electro_ob,
                        ea_analisis_ob,
                        ea_otros_ob,
                        ea_autorizacion_os_p,
                        ea_autorizacion_os_v,
                        ea_autorizacion_os_ob
                        from
                            cirugias as c
                                left join
                            pacientes as pa ON pa.id_paciente = c.id_paciente
                                left join
                            presupuestos as pr ON pr.id_cirugia = c.id_cirugia
                                left join
                            medicos as m ON m.id_medico = c.id_medico
                                left join
                            lios as l ON l.id_cirugia = c.id_cirugia
                                left join 
                            estudios_analisis as ea on ea.id_cirugia=c.id_cirugia
                                left join
                            obras_sociales os ON pa.id_obra_social = os.id_obra_social
                        where 
                        c.id_cirugia=%s", $id_cirugia);

        $row = $this->db->query($query);
        return $row;
    }

    /* ------------------------ LISTAR TODOS LOS ELEMENTOS------------------------ */

    function cirugias_por_paciente($id_paciente)
    {
        $query = sprintf('
                        select 
                        c.id_cirugia,
                        c_ojo,
                        c_acepta,
                        c_fecha_estimada,
                        c_fecha_cirugia,
                        c_estado,
                        c_otra_cirugia,
                        c_observacion,
                        m.id_medico,
                        pa.id_paciente,
                        p_nombre,
                        p_apellido,
                        p_fecha_nacimiento,
                        p_dni,
                        p_numero_afiliado,
                        p_localidad,
                        p_telefono,
                        p_historia_clinica,
                        id_obra_social,
                        pr_fecha_entrega,
                        pr_obra_social,
                        pr_coseguro,
                        pr_total,
                        m_nombre,
                        lio_elegido,
                        lio_opcion_1,
                        lio_opcion_2,
                        lio_opcion_3,
                        lio_fecha_pedido,
                        lio_fecha_recibido,
                        lio_graduacion,
                        l.id_tecnica,
                        tec_nombre,
                        ea_iol_master_p,
                        ea_iol_master_v,
                        ea_ecometria_p,
                        ea_ecometria_v,
                        ea_microscopia_p,
                        ea_microscopia_v,
                        ea_oct_p,
                        ea_oct_v,
                        ea_pentacam_p,
                        ea_pentacam_v,
                        ea_rfg_p,
                        ea_rfg_v,
                        ea_electro_p,
                        ea_electro_v,
                        ea_analisis_p,
                        ea_analisis_v,
                        ea_otros_p,
                        ea_otros_v,
                        ea_iol_master_ob,
                        ea_ecometria_ob,
                        ea_microscopia_ob,
                        ea_oct_ob,
                        ea_pentacam_ob,
                        ea_rfg_ob,
                        ea_electro_ob,
                        ea_analisis_ob,
                        ea_otros_ob,
                        ea_autorizacion_os_p,
                        ea_autorizacion_os_v,
                        ea_autorizacion_os_ob
                    from
                        cirugias as c
                            inner join
                        pacientes as pa ON pa.id_paciente = c.id_paciente
                            inner join
                        presupuestos as pr ON pr.id_cirugia = c.id_cirugia
                            inner join
                        medicos as m ON m.id_medico = c.id_medico
                            inner join
                        lios as l ON l.id_cirugia = c.id_cirugia
                            inner join
                        tecnicas as tec ON tec.id_tecnica = l.id_tecnica
                            inner join 
                        estudios_analisis as ea on ea.id_cirugia=c.id_cirugia
                    where
                        pa.id_paciente=%s

                        ', $id_paciente);
        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }

    /* ------------------------ LISTAR TODOS LOS ELEMENTOS------------------------ */

    function select()
    {

        $query = "select * from cirugias";
        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }

    /* -----------------------LISTADO TABLA TIPO_ESTUDIO_ANALISIS PARA AGREGAR UNA CIRUGIA MOSTRAR LOS TIPOS QUE HAY------------------------------ */

    function select_tecnicas()
    {
        $query = "select * from tecnicas";
        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }

    /* -----------------------LISTADO TABLA MEDICOS PARA MOSTRAR EN EL SELECTO LOS MEDICOS QUE HAY EN NUEVA CIRUGIA------------------------------ */

    function select_medicos()
    {
        $query = "select * from medicos";
        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }

    /* ------------------------ MODIFICAR UN REGISTRO----------------------------- */

    function update($id, $row = array())
    {

        $this->db->where('id_cirugia', $id);
        $this->db->update('cirugias', $row);
    }

    /* ------------------------ ELIMINAR UN REGISTRO------------------------------- */

    function delete($id_cirugia)
    {

        $query = sprintf("delete from cirugias where id_cirugia=%s", $id_cirugia);
        $this->db->query($query);
    }
    
     /* ------------------------ ELIMINAR UN REGISTRO------------------------------- */

    function set_estado_finalizada($id_cirugia)
    {
        $query=sprintf("update cirugias set c_estado='finalizada' where id_cirugia=%s ",$id_cirugia);
        $this->db->query($query);
    }

    //----------------------------SELECCIONAR VERDES-----------------------------//

    function pendientes_list()
    {
        $query = "select 
                        c.id_cirugia,
                        c_fecha_estimada,
                        c_fecha_cirugia,
                        c_color,
                        p.id_paciente,
                        p_nombre,
                        p_apellido,
                        (YEAR(CURDATE())-YEAR(p_fecha_nacimiento)) as p_fecha_nacimiento,
                        p_localidad,
                        p_telefono,
                        p_historia_clinica,
                        pr_fecha_entrega,
                        pr_total,
                        lio_elegido,
                        lio_fecha_pedido,
                        lio_graduacion,
                        ea_iol_master_p,
                        ea_iol_master_v,
                        ea_ecometria_p,
                        ea_ecometria_v,
                        ea_microscopia_p,
                        ea_microscopia_v,
                        ea_oct_p,
                        ea_oct_v,
                        ea_pentacam_p,
                        ea_pentacam_v,
                        ea_rfg_p,
                        ea_rfg_v,
                        os_nombre
               
              from
                  cirugias as c
                      inner join
                  pacientes as p ON p.id_paciente = c.id_paciente
                      inner join
                  obras_sociales as o ON p.id_obra_social = o.id_obra_social
                      inner join
                  lios as l ON l.id_cirugia = c.id_cirugia
                      inner join
                  presupuestos as pr ON c.id_cirugia = pr.id_cirugia
                      inner join
                  estudios_analisis as ea ON ea.id_cirugia = c.id_cirugia
              where
                    p.id_paciente>0
                    and
                    c.c_acepta='si'
                    and
                    c.c_estado='proceso'
              group by c_color desc,id_cirugia order by c_color desc, p_apellido";

        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }

    function rechazadas_select()
    {
        $query = "select
                c.id_cirugia,
                p.p_historia_clinica,
                p.p_nombre,
                p.p_apellido,
                (YEAR(CURDATE())-YEAR(p_fecha_nacimiento)) as p_fecha_nacimiento,
                o.os_nombre,
                p.p_localidad,
                p.p_telefono,
                p.id_paciente,
                c.c_fecha_estimada
                from 
                cirugias as c
                inner join
                pacientes as p
                on
                p.id_paciente=c.id_paciente
                inner join 
                obras_sociales as o
                on
                p.id_obra_social = o.id_obra_social
                where c.c_acepta='no'";

        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }

    function finalizadas_select($start,$end)
    {
        $select = "select
                c.id_cirugia,
                p.p_historia_clinica,
                p.p_nombre,
                p.p_apellido,
                (YEAR(CURDATE())-YEAR(p_fecha_nacimiento)) as p_fecha_nacimiento,
                o.os_nombre,
                p.p_localidad,
                p.p_telefono,
                p.id_paciente,
                c.c_fecha_estimada,
                c.c_fecha_cirugia
                " ;
        
        $select_count="select count(c.id_cirugia) as cantidad";
        
        $from=" from 
                cirugias as c
                inner join
                pacientes as p
                on
                p.id_paciente=c.id_paciente
                inner join 
                obras_sociales as o
                on
                p.id_obra_social = o.id_obra_social
                where c.c_estado='finalizada'";
        
        $order = " order by c_fecha_cirugia desc ";
        $litmit = " limit " . $start . "," . $end . "";
        
        $query= $select.$from.$order.$litmit;
        $query_count=$select_count.$from;

        $row = $this->db->query($query_count);
        $row = $row->row();
        $cantidad = $row->cantidad;
        
        $row = $this->db->query($query);
        $row = $row->result_array();
        
        $array_return = array(
            'total_count' => $cantidad,
            'rows' => $row
        );
        
        return $array_return;
    }

    function cirugias_row_actividades($id_cirugia)
    {
        $query = sprintf("      
                select 
                c.id_cirugia,
                c_ojo,
                c_acepta,
                c_fecha_estimada,
                c_fecha_cirugia,
                c_estado,
                c_otra_cirugia,
                c_observacion,
                id_paciente,
                m.id_medico,
                m_nombre,
                pr_fecha_entrega,
                pr_obra_social,
                pr_coseguro,
                pr_total,
                lio_opcion_1,
                lio_opcion_2,
                lio_opcion_3,
                lio_elegido,
                lio_graduacion,
                lio_fecha_pedido,
                lio_fecha_recibido,
                l.id_tecnica,
                tec.id_tecnica,
                tec_nombre,
                ea_iol_master_p,
                ea_iol_master_v,
                ea_ecometria_p,
                ea_ecometria_v,
                ea_microscopia_p,
                ea_microscopia_v,
                ea_oct_p,
                ea_oct_v,
                ea_pentacam_p,
                ea_pentacam_v,
                ea_rfg_p,
                ea_rfg_v,
                ea_electro_p,
                ea_electro_v,
                ea_analisis_p,
                ea_analisis_v,
                ea_otros_p,
                ea_otros_v,
                ea_iol_master_ob,
                ea_ecometria_ob,
                ea_microscopia_ob,
                ea_oct_ob,
                ea_pentacam_ob,
                ea_rfg_ob,
                ea_electro_ob,
                ea_analisis_ob,
                ea_otros_ob,
                ea_autorizacion_os_p,
                ea_autorizacion_os_v,
                ea_autorizacion_os_ob
            from
                cirugias as c
                    inner join
                presupuestos as pr ON pr.id_cirugia = c.id_cirugia
                    inner join
                medicos as m ON m.id_medico = c.id_medico
                    inner join
                lios as l ON l.id_cirugia = c.id_cirugia
                    inner join
                tecnicas as tec ON tec.id_tecnica = l.id_tecnica
                    inner join
                estudios_analisis as ea ON ea.id_cirugia = c.id_cirugia
            where
                c.id_cirugia = %s

        ", $id_cirugia);

        $row = $this->db->query($query);
        $row = $row->row_array();
        return $row;
    }

    function pa_cirugias_cant($id_paciente)
    {
        $query = sprintf("select count(*) as total from cirugias where id_paciente=%s", $id_paciente);
        $row = $this->db->query($query);
        $row = $row->row();
        return $row->total;
    }

    function cirugias_ojo($id_paciente)
    {
        $query = sprintf("select c_ojo from cirugias where id_paciente=%s", $id_paciente);
        $query_row = $this->db->query($query);
        if ($query_row->num_rows() == 0)
        {
            return "";
        }
        else
        {
            $row = $query_row->row();
            return $row->c_ojo;
        }
    }
    
    //REGISTRO ACTIVIDADES DATOS PARA BUSCAR CUANDO SE ELIMINA UN REGISTRO
    //Y QUEREMOS AGREGAR DATOS AL REGISTRO DE ACTIVIDADES
    function act_delete_datos($id_cirugia)
    {
        $query=sprintf("select
        c_ojo,p_historia_clinica,p_nombre,p_apellido
        from 
        cirugias c
        inner join
        pacientes p
        on 
        c.id_paciente=p.id_paciente
        where id_cirugia=%s",$id_cirugia);
        $row = $this->db->query($query);
        $row = $row->row_array();
        return $row;
    }
    
    

}

?>
